package org.fight.logic.fightbo;

import com.sojoys.artifact.exception.AbstractLogicModelException;
import com.sojoys.artifact.factory.session.ISession;
import com.sojoys.artifact.core.IModule;
/** 
 * 战斗
 */
public interface FightBO extends IModule {
	byte classCode = 100;
	
	/** 进入战斗 [code = 25601] */
	short enterFight = 25601; 
	/** 开始战斗 [code = 25602] */
	short startFight = 25602; // 推送类型
	/** 操作战斗 [code = 25603] */
	short operateFight = 25603; 
	/** 通知网络帧 [code = 25604] */
	short notifyNetFrame = 25604; // 推送类型
	/** 结束战斗 [code = 25605] */
	short endFight = 25605; 
	/** 拉取网络帧 [code = 25606] */
	short pullNetFrame = 25606; 
	
	
	/** 进入战斗 [code = 25601] */
	byte[] enterFight(ISession session, org.fight.protobuf.C2SFightMsg.ReqEnterFight param) throws AbstractLogicModelException;
	
	
	/** 操作战斗 [code = 25603] */
	byte[] operateFight(ISession session, org.fight.protobuf.C2SFightMsg.ReqOperateFight param) throws AbstractLogicModelException;
	
	
	/** 结束战斗 [code = 25605] */
	byte[] endFight(ISession session, org.fight.protobuf.C2SFightMsg.ReqEndFight param) throws AbstractLogicModelException;
	
	/** 拉取网络帧 [code = 25606] */
	byte[] pullNetFrame(ISession session, org.fight.protobuf.C2SFightMsg.ReqPullNetFrame param) throws AbstractLogicModelException;
	
}